如何创建一个 Maven 工程。
编写 POM
- 新建一个 hello-world 文件夹
- 在文件夹下新建一个 pom.xml 文件。这个文件用来定义项目的基本信息。代码如下:
1 | <project xmlns="http://maven.apache.org/POM/4.0.0" |
编写主代码
在 hello-world 文件夹下创建 src/main/java 文件夹,在 java 文件夹下创建 com/diaolizhi/HelloWorld.java 文件,代码如下:
1 | package com.diaolizhi.helloworld; |
在主目录 hello-world 下打开命令行,运行:
1 | mvn clean compile |
这句话先清理输出目录 target/,compile 告诉 Maven 编译项目主代码。
编写测试代码
首先为项目添加依赖,添加之后的 pom.xml 文件:
1 | <project xmlns="http://maven.apache.org/POM/4.0.0" |
在 根目录/src/test/java 文件夹下创建 HelloWorldTest.java
1 | package com.diaolizhi.helloworld; |
注意:测试类不用放在固定的包下,直接放在 src/test/java 目录下即可,而且第一行代码 package xx.xx.xxx; 和主类一样。
执行测试
在根目录下运行
1 | mvn clean test |
执行测试,结果发现有错误。
由于历史原因,Maven 的核心插件之一——compiler 插件默认只支持编译 Java 1.3,因此需要配置该插件使其支持 Java 5。
在 pom.xml 中加入如下的代码:
1 | <build> |
这样就可以成功执行测试了。
打包和运行
- 单纯地打包,得到的 jar 包位于 target/ 目录下
1 | mvn clean package |
- 打包并放入本地仓库,以便其他项目使用
1 | mvn clean install |
生成可运行的 jar 包
HelloWorld 类是有一个 main 方法的,默认打包生成的 jar 是不能够直接运行的,因为带有 main 方法的类信息不会添加到 manifest 中。为了生成可执行的 jar 文件,需要借助 maven-shade-plugin,配置该插件如下:
(plugin 元素在 pom.xml 中的 project 下的 build 下的 plugins 标签下)
1 | <plugin> |
再次运行
1 | mvn clean package |
就会自动生成可执行 jar 包,位于 target/ 目录下, original 开头的包是原始的包,另一个才是可执行的。
使用下面的命令执行 jar 包:
1 | java -jar target\hello-world-1.0-SNAPSHOT.java |
使用 Archetype 生成项目骨架
因为装的是 Maven 3,所以直接运行:
1 | mvn archetype:generate |
敲两次回车,然后输入 groupId、artifactId、version、package,并按回车确定。